Computer systems can comprise input devices, output devices, one or more CPUs and storage devices that can include semiconductor RAM, EEPROM, disc drives, CD drives, other storage media, and can include intelligent controllers. An operating system can control configuration of various peripherals, such as display adapters and network interfaces, for example, and provides an application environment and a data system that allocates or de-allocates storage capacity as files are created, modified, or deleted. Specialized computer systems, such as servers and storage arrays, also employ a system for allocating storage capacity that can be accessed through a network or other connection. Data can be stored across a plurality of disc drives in redundant storage formats such as RAID, for example. User data, and any mirror data or parity data, is mapped to one or more areas on one or more disc drives. Configuration information describing the manner in which data is stored to one or more disc drives is contained in tables or other data structures termed metadata. As files are created, modified, or deleted, the metadata is updated to reflect the allocation or de-allocation of storage capacity.
The manner in which metadata describes storage mapping and how metadata is processed within a data storage system can have a significant impact upon storage system performance. As the storage capacity of a system grows, the amount of configuration information employed to manage the system can also grow, as does the amount of time needed to process information. The rate at which storage can be allocated or de-allocated, the number of concurrent processes supported, and the storage capacity of a system directly affects the marketability and value of the system.